Skip to content

Remove meta.yaml — use .md frontmatter as single source of truth - #46

Merged
tallnato merged 4 commits into
mainfrom
fix/nat-90-category-collection-items
Mar 26, 2026
Merged

Remove meta.yaml — use .md frontmatter as single source of truth#46
tallnato merged 4 commits into
mainfrom
fix/nat-90-category-collection-items

Conversation

@tallnato

Copy link
Copy Markdown
Member

Summary

  • Refactored scripts/build.ts to read metadata from .md frontmatter (via gray-matter) instead of meta.yaml
  • Refactored scripts/validate.ts to read .md frontmatter instead of meta.yaml (also fixed category directory path to use _ prefix)
  • Deleted all 5 meta.yaml files from content directories
  • Updated 5 category READMEs and 5 PR templates to reference .md frontmatter instead of meta.yaml

Test plan

  • npm run build produces catalog with all 5 items
  • npm run validate passes with all checks green
  • Verify Jekyll site builds correctly with the changes

Closes NAT-112

tallnato and others added 3 commits March 26, 2026 18:07
Jekyll requires collection directories under collections_dir to be
prefixed with underscore (e.g., content/_locksounds/ not content/locksounds/).
Without the prefix, Jekyll treats the markdown files as regular pages
instead of collection documents, causing site[page.collection_name]
to return empty and category pages to show no items.

- Renamed all 5 collection dirs: _locksounds, _lightshows, _boombox, _wraps, _hornsounds
- Updated scripts/build.ts to reference underscore-prefixed dirs
- Updated PR templates with correct directory paths

Co-Authored-By: Paperclip <noreply@paperclip.ing>
search.json was iterating site.pages which doesn't include Jekyll
collection documents. Now iterates site[cat] for each content category
and uses item.collection for category detection, matching the fix
applied to the category template in da46884.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
Refactored build.ts and validate.ts to read metadata from .md frontmatter
(via gray-matter) instead of meta.yaml files. Deleted all meta.yaml files
from content directories. Updated category READMEs and PR templates to
reference frontmatter in .md files.

Co-Authored-By: Paperclip <noreply@paperclip.ing>

@tallnato tallnato left a comment

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review: Approved ✓

Clean refactoring. Both npm run build and npm run validate pass. The gray-matter usage is correct and the meta.yaml deletion is thorough.

Minor notes (non-blocking)

  1. Stale meta.yaml comments — 3 leftover references:

    • _data/tags.yaml:2# All meta.yaml tags must use values from this list.
    • content/tags.yaml:2 — same
    • scripts/validate.ts:19// Allowed file extensions per category (excluding meta.yaml)

    These should say "frontmatter" instead of "meta.yaml". Can be cleaned up in a follow-up.

  2. import * as yaml in both scripts — still needed (_config.yml in build, tags.yaml in validate), so no dead imports.

LGTM — ship it.

- Keep meta.yaml files deleted (per PR intent)
- Keep README references to .md frontmatter (not meta.yaml)
- Auto-merged build.ts and PR templates cleanly

Co-Authored-By: Paperclip <noreply@paperclip.ing>
@tallnato
tallnato merged commit a1ea600 into main Mar 26, 2026
2 checks passed
@tallnato
tallnato deleted the fix/nat-90-category-collection-items branch March 26, 2026 23:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant